import Vue from 'vue';
import Vuex from 'vuex';

import app from './modules/app';
import user from './modules/user';
import dict from './modules/dict';

Vue.use(Vuex);

const store = new Vuex.Store({
    // 定义参数
    state: {
        // 状态
        num: 1,
        authenticationRadio:"",
    },
    // 能操作state里的参数
    mutations: {
        // 改变方法
        add(state) {
            state.num++;
        },
        addn(state) {
            state.num--;
        },
        setNumberIsWhat(state, payload) { // 增加一个带参数的mutations方法，并且官方建议payload为一个对象
            state.num = payload.num;
        },
    },
    //增加setNum方法，默认第一个参数是content，content就是mutations   其值是复制的一份store
    actions: {
        setNum(content, payload) {
            content.commit("setNumberIsWhat", { num: payload.num })
        }
    },
    modules: {
        app,
        user,
        dict
    }
});

export default store;
